Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

184
Visualizações
¿Qué significa s[i] - '0'?

El siguiente código es del libro de texto de K&R, página número 71:

 val =10.0*val+s[i] -'0'

¿Qué significa s[i] -'0' aquí?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Parece que s es una matriz de caracteres o un puntero al primer elemento de una matriz de caracteres. Y el elemento s[i] contiene un carácter que representa un dígito como, por ejemplo '5' . Para convertir este carácter que por ejemplo en ASCII tiene código interno igual a 53 (mientras que el código interno del carácter '0' es 48) se utiliza la expresión

 s[i] -'0'

eso es equivalente a

 53 - 48

e igual al número 5

Según el Estándar C (5.2.1 Juegos de caracteres)

3... Tanto en el juego de caracteres básicos de origen como en el de ejecución, el valor de cada carácter después del 0 en la lista anterior de dígitos decimales será uno mayor que el valor del anterior.

Así que en ASCII hay una relación

Valor del código de carácter

 '0' - 48 '1' - 49 '2' - 50 '3' - 51 '4' - 52 '5' - 53 '6' - 54 '7' - 55 '8' - 56 '9' - 57

Por ejemplo en EBCDIC los códigos internos de caracteres que representan dígitos son 240 - 249 (0-9) o en notación hexadecimal F0 - F9 .

Por lo tanto, es una forma estándar de obtener un dígito numérico de un carácter, independientemente del conjunto de caracteres utilizado.

over 4 years ago · Santiago Trujillo Relatório

0

char un int en forma de caracteres en un int real.

Por ejemplo, si s[i] es '9' entonces s[i] - '0' producirá 9 .

over 4 years ago · Santiago Trujillo Relatório

0

Probablemente el código se usa para convertir una cadena con dígitos decimales en el número representado (por ejemplo, "1234" en 1234).

s[i] es el dígito actual, s[i]-'0' es el valor numérico del dígito actual (por ejemplo, '9' se convierte en 9).

El resto del código C es simplemente cómo funcionan los sistemas numéricos posicionales.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda